home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 September / CHIP Eylül 1998.iso / Slackwar / docs / slack-docs / inn / usr / local / sbin / procnews next >
Text File  |  1996-05-05  |  1KB  |  49 lines

  1. #!/bin/sh
  2. # procnews: send out and bring in our news.
  3. # Copyright 1995 John A. Phillips - john@linux.demon.co.uk
  4. #
  5. # Modified by Ivan Beveridge <ivan@dreamtim.demon.co.uk>
  6. #  for use with INN.
  7. #
  8. # usage: procnews [news_server]
  9.  
  10. # Set up the defaults
  11. default_server="news.demon.co.uk"
  12. default_prefix=".demon.co.uk"
  13. slurp_tries=10
  14.  
  15. # Set the news server:
  16. # * If you don't name a news_server it defaults to $default_server
  17. # * If you give a name without a "." $default_prefix is added
  18. # * If you give a name including a "." the name is used literally
  19. news_server=${1:-${default_server}}
  20. if [ `echo $news_server | grep -Fc "."` -eq 0 ]; then
  21.     news_server=${news_server}${default_prefix}
  22. fi
  23.  
  24. # Send out the news we have ready to go
  25. su news -c "/usr/lib/news/bin/nntpsend >/tmp/nntpsend.log 2>&1" &
  26.  
  27. # Pick up the news via slurp.
  28. slurp_result=4
  29. while [ $slurp_result -eq 4 -a $slurp_tries -gt 0 ]; do
  30.     su news -c "/usr/local/sbin/slurp -x $news_server"
  31.     slurp_result=$?
  32.     sleep 3
  33.     slurp_tries=`expr $slurp_tries - 1`
  34. done
  35. if [ $slurp_result -ne 0 ]; then
  36.     echo slurp failed with exit code $slurp_result
  37.     if [ $slurp_result -eq 4 -o $slurp_result -eq 3 ]; then
  38.         exit $slurp_result
  39.     fi
  40. fi
  41.  
  42. # Wait for the outgoing news processes to complete if required.
  43. wait
  44.  
  45. # Unbatch and store the news that came in.
  46. su news -c "/usr/lib/news/rnews -U"
  47.  
  48. exit $slurp_result
  49.